Systems and methods for removing unwanted interactions in quantum devices

ABSTRACT

Systems, devices, articles, methods, and techniques for advancing quantum computing by removing unwanted interactions in one or more quantum processor. One approach includes creating an updated plurality of programmable parameters based at least in part on a received value for the characteristic magnetic susceptibility of the qubit in the at least one quantum processor, and returning the updated plurality of programmable parameters. Examples programmable parameters include local biases, and coupling values characterizing the problem Hamilton. Also, for example, a quantum processor may be summarized as including a first loop of superconducting material, a first compound Josephson junction interrupting the first loop of superconducting material, a first coupler inductively coupled to the first loop of superconducting material, a second coupler inductively coupled to the first loop of superconducting material, and a second loop of superconducting material proximally placed to the first loop of superconducting material inductively coupled to the first coupler and the second coupler.

BACKGROUND Field

This disclosure generally relates to devices, and architectures for quantum instruments comprising quantum devices and techniques for operating the same.

Quantum Devices

Quantum devices are structures in which quantum mechanical effects are observable. Quantum devices include circuits in which current transport is dominated by quantum mechanical effects. Such devices include spintronics, where electronic spin is used as a resource, and superconducting circuits. Both spin and superconductivity are quantum mechanical phenomena. Quantum devices can be used for measurement instruments, in computing machinery, and the like.

Quantum Computation

Quantum computation and quantum information processing are active areas of research and define classes of vendible products. A quantum computer is a system that makes direct use of at least one quantum-mechanical phenomenon, such as, superposition, tunneling, and entanglement, to perform operations on data. The elements of a quantum computer are not binary digits (bits) but typically are quantum binary digits or qubits. Quantum computers hold the promise of providing exponential speedup for certain classes of computation problems like simulating quantum physics. Useful speedup may exist for other classes of problems.

There are several types of quantum computers. An early proposal from Feynman in 1981 included creating artificial lattices of spins. More complicated proposals followed including a quantum circuit model where logical gates are applied to qubits in a time ordered way. In 2000, a model of computing was introduced for solving satisfiability problems; based on the adiabatic theorem this model is called adiabatic quantum computing. This model is believed useful for solving hard optimization problems and potentially other problems.

Adiabatic Quantum Computation

Adiabatic quantum computation typically involves evolving a system from a known initial Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian by gradually changing the Hamiltonian. A simple example of an adiabatic evolution is a linear interpolation between initial Hamiltonian and final Hamiltonian. An example is given by: H _(e)=(1−s)H _(i) +sH _(f)  (1) where H_(i) is the initial Hamiltonian, H_(f) is the final Hamiltonian, H_(e) is the evolution or instantaneous Hamiltonian, and s is an evolution coefficient which controls the rate of evolution. As the system evolves, the evolution coefficient s goes from 0 to 1 such that at the beginning (i.e., s=0) the evolution Hamiltonian H_(e) is equal to the initial Hamiltonian H_(i) and at the end (i.e., s=1) the evolution Hamiltonian H_(e) is equal to the final Hamiltonian H_(f). Before the evolution begins, the system is typically initialized in a ground state of the initial Hamiltonian H_(i) and the goal is to evolve the system in such a way that the system ends up in a ground state of the final Hamiltonian H_(f) at the end of the evolution. If the evolution is too fast, then the system can transition to a higher energy state, such as the first excited state. In the present systems and devices, an “adiabatic” evolution is an evolution that satisfies the adiabatic condition: {dot over (s)}|

1|d/H _(e) /ds|0

|=δg ²(s)  (2) where {dot over (s)} is the time derivative of s, g(s) is the difference in energy between the ground state and first excited state of the system (also referred to herein as the “gap size”) as a function of s, and δ is a coefficient much less than 1. Generally the initial Hamiltonian H_(i) and the final Hamiltonian H_(f) do not commute. That is, [H_(i), H_(f)]≠0.

The process of changing the Hamiltonian in adiabatic quantum computing may be referred to as evolution. If the rate of change, for example, change of s, is slow enough that the system is always in the instantaneous ground state of the evolution Hamiltonian, then transitions at anti-crossings (i.e., when the gap size is smallest) can be avoided. The example of a linear evolution schedule is given above. Other evolution schedules are possible including non-linear, parametric, and the like. Further details on adiabatic quantum computing systems, methods, and apparatus are described in, for example, U.S. Pat. Nos. 7,135,701 and 7,418,283.

Quantum Annealing

Quantum annealing is a computation method that may be used to find a low-energy state, typically preferably the ground state, of a system. Similar in concept to classical simulated annealing, the method relies on the underlying principle that natural systems tend towards lower energy states because lower energy states are more stable. However, while classical annealing uses classical thermal fluctuations to guide a system to a low-energy state and ideally its global energy minimum, quantum annealing may use quantum effects, such as quantum tunneling, as a source of disordering to reach a global energy minimum more accurately and/or more quickly than classical annealing. In quantum annealing thermal effects and other noise may be present in quantum annealing. The final low-energy state may not be the global energy minimum. Adiabatic quantum computation may be considered a special case of quantum annealing for which the system, ideally, begins and remains in its ground state throughout an adiabatic evolution. Examples of an ideal system include those at zero effective temperature and no effective interaction with the environment. Thus, those of skill in the art will appreciate that quantum annealing systems and methods may generally be implemented on an adiabatic quantum computer. Throughout this specification and the appended claims, any reference to quantum annealing is intended to encompass adiabatic quantum computation unless the context requires otherwise.

Quantum annealing uses quantum mechanics as a source of disorder during the annealing process. An objective function, such as an optimization problem, is encoded in a Hamiltonian H_(P), and the algorithm introduces quantum effects by adding a disordering Hamiltonian H_(D) that does not commute with H_(P). An example case is: H _(E) ∝A(t)H _(D) +B(t)H _(P)  (3) where A(t) and B(t) are time dependent envelope functions. For example, A(t) changes from a large value to substantially zero during the evolution. The Hamiltonian H_(E) may be thought of as an evolution Hamiltonian similar to H_(e) described in the context of adiabatic quantum computation above. The disorder may be removed by removing H_(D) (i.e., reducing A(t)). The disorder may be added and then removed. Thus, quantum annealing is similar to adiabatic quantum computation in that the system starts with an initial Hamiltonian and evolves through an evolution Hamiltonian to a final “problem” Hamiltonian H_(P) whose ground state encodes a solution to the problem. If the evolution is slow enough, the system may settle in the global minimum (i.e., the exact solution), or in a local minimum close in energy to the exact solution. The performance of the computation may be assessed via the residual energy (difference from exact solution using the objective function) versus evolution time. The computation time is the time required to generate a residual energy below some acceptable threshold value. In quantum annealing, H_(P) may encode an optimization problem but the system does not necessarily stay in the ground state at all times. The energy landscape of H_(P) may be crafted so that its global minimum is the answer to the problem to be solved, and low-lying local minima are good approximations. Superconducting Qubits

There are solid state qubits based on circuits of superconducting materials. There are two superconducting effects that underlie how superconducting qubits operate: magnetic flux quantization, and Josephson tunneling.

Flux is quantized via the Aharonov-Bohm effect where electrical charge carriers accrue a topological phase when traversing a conductive loop threaded by a magnetic flux. For superconducting loops, the charge carriers are pairs of electrons called Cooper pairs. For a loop of sufficiently thick superconducting material, quantum mechanics dictates that the Cooper pairs accrue a phase that is an integer multiple of 2π. This then constrains the allowed flux in the loop. The flux is quantized. The current in the loop is governed by a single wavefunction and, for the wavefunction to be single-valued at any point in the loop, the flux within it is quantized. In other words, superconductivity is not simply the absence of electrical resistance but rather a quantum mechanical effect.

Josephson tunneling is the process by which Cooper pairs cross an interruption, such as an insulating gap of a few manometers, between two superconducting electrodes. The amount of current is sinusoidally dependent on the phase difference between the two populations of Cooper pairs in the electrodes. That is, the amount of current is dependent on the phase difference across the interruption.

These superconducting effects are present in different configurations and give rise to different types of superconducting qubits including flux, phase, charge, and hybrid qubits. These different types of qubits depend on the topology of the loops, placement of the Josephson junctions, and the physical parameters of the parts of the circuits, such as, inductance, capacitance, and Josephson junction critical current.

Superconducting Quantum Processor

A plurality of superconducting qubits may be included in superconducting quantum processor. A superconducting quantum processor may include a number of qubits and associated local bias devices, for instance two or more superconducting qubits. A superconducting quantum processor may also employ couplers (that is, coupling devices) providing communicative coupling between qubits. A qubit and a coupler resemble each other but differ in physical parameters. One difference is the parameter, β. Consider an rf-SQUID, superconducting loop interrupted by Josephson junction, β is the ratio of the inductance of a Josephson junctions in to the geometrical inductance of the loop. A design with lower values of β, about 1, behaves more like a simple inductive loop, a monostable device. A design with higher values is more dominated by the Josephson junctions, and is more likely to have bistable behavior. The parameter, β is defined a 2πLI_(C)/Φ₀. That is, β is proportional to the product of inductance and critical current. One can vary the inductance, for example, a qubit is normally larger than its associated coupler. The larger device has a larger inductance and thus the qubit is often a bistable device and a coupler monostable. Alternatively the critical current can be varied, or the product of the critical current and inductance can be varied. A qubit often will have more devices associated with it. Further details and embodiments of exemplary quantum processors that may be used in conjunction with the present systems and devices are described in, for example, U.S. Pat. Nos. 7,533,068; 8,008,942; 8,195,596; 8,190,548; and 8,421,053.

Nature of Problem Hamiltonian

The final or problem Hamiltonian H_(P) has ground state that encodes a solution to the problem the computer can solve. The problem the computer can solves may be slightly different than the problem of interest. This difference can be called a distortion and the problem the computer can solve the distorted problem. The differences can arise because of the physical components of the computer depart from an idealized mathematical description. Recognizing where these differences occur and accounting for the differences are challenges in the art.

BRIEF SUMMARY

A quantum processor may be summarized as including a first loop of superconducting material, that superconducts below a critical temperature, a first compound Josephson junction interrupting the first loop of superconducting material, a first coupler inductively coupled to the first loop of superconducting material, a second coupler inductively coupled to the first loop of superconducting material, and a second loop of superconducting material, that superconducts below a critical temperature, proximally placed to the first loop of superconducting material inductively coupled to the first coupler and inductively coupled to the second coupler. The quantum processor may further include a tunable inductance interrupting the second loop of superconducting material. The quantum processor may further include a global signal line inductively coupled to the second loop of superconducting material.

A computational system may be summarized as including at least one quantum processor comprising: a plurality of qubits, a plurality of couplers, where each coupler provides controllable communicative coupling between a respective pair qubits of the plurality of qubits, and a plurality of magnetic susceptibility compensators. Each magnetic susceptibility compensator is proximate to a respective qubit of the plurality of qubits. The computational system also includes at least one processor-based device communicatively coupled to the at least one quantum processor, and at least one non-transitory computer-readable storage medium communicatively coupled to the at least one processor-based device and which stores processor-executable instructions. The processor-executable instructions which when executed causes the at least one processor-based device to initialize the quantum processor to an initial state, cause the quantum processor to evolve from the initial state toward a final state, and cause the quantum processor to add a flux bias to the plurality of magnetic susceptibility compensators.

A computational method for operating a hybrid computer including a quantum processor and at least one processor-based device communicatively coupled to one another. The quantum processor including a plurality of qubits, a plurality of coupling devices, where each coupling device provides controllable communicative coupling between two of the plurality of qubits, and a plurality of magnetic susceptibility compensators. Each magnetic susceptibility compensator is proximate to a respective qubit of the plurality of qubits. The method may be summarized as including initializing a quantum processor to an initial state, causing the quantum processor to evolve from the initial state toward a final state, and causing the quantum processor to add a flux bias to a plurality of magnetic susceptibility compensators. The method may further include reading out states for the qubits in plurality of qubits of the quantum processor. The method may further include adding a signal on a global signal line included in the hybrid computer and communicably coupled to the plurality of magnetic susceptibility compensators. Where the hybrid computer further includes a plurality of inductance tuners each interrupting a circuit in each magnetic susceptibility compensator in the plurality of magnetic susceptibility compensators, the method may further include tuning each of the plurality of inductance tuners to a respective value. The respective value is such that each circuit in each magnetic susceptibility compensator in the plurality of magnetic susceptibility compensators has a respective magnetic susceptibility opposite to the magnetic susceptibility of each qubit associated with each magnetic susceptibility compensator in the plurality of magnetic susceptibility compensators.

A computational system for use in quantum processing may be summarized as including at least one non-transitory processor-readable medium that stores at least one of processor executable instructions or data, and at least one processor communicatively coupled to the at least one non-transitory processor-readable medium. In response to execution of the at least one of processor executable instructions or data the computational system receives a plurality of programmable parameters for at least one quantum processor. The programmable parameters characterize a problem Hamilton. The computational system receives a value for a characteristic mutual inductance of antiferromagnetic coupling for the at least one quantum processor and a value for a characteristic magnetic susceptibility of a qubit in the at least one quantum processor. The computational system creates an updated plurality of programmable parameters based at least in part on the received value for the characteristic magnetic susceptibility of the qubit in the at least one quantum processor, and returns the updated plurality of programmable parameters. Examples of the plurality of programmable parameters include a plurality of local biases, and a plurality of coupling values characterizing the problem Hamilton.

A computational method may be summarized as including receiving a plurality of programmable parameters for at least one quantum processor, where the programmable parameters which characterize a problem Hamilton, receiving a value for a characteristic mutual inductance of antiferromagnetic coupling for the at least one quantum processor, and receiving a value for a characteristic magnetic susceptibility of a qubit in the at least one quantum processor. The method may be summarized as including creating an updated plurality of programmable parameters based at least in part on the received value for the characteristic magnetic susceptibility of the qubit in the at least one quantum processor, and returning the updated plurality of programmable parameters. The method may further include constructing a correction matrix, solving a linear system where the linear system includes a first vector, corresponding to a plurality of local biases, equal to the correction matrix right multiplied by a second vector, corresponding to a plurality of updated local biases, for the second vector, and returning the plurality of updated local biases. The method may further include receiving a mapping of a plurality of logical qubits defined on the at least quantum processor, where each logical qubit in the plurality of logical qubits includes a plurality of physical qubits, and a plurality of intra-logical qubit coupler, updating a coupling value for an extra-logical qubit coupler to a logical qubit in the plurality of logical qubits, and returning the updated coupling value for the extra-logical qubit coupler.

A method for correcting distortions to a problem Hamiltonian for a superconducting quantum processor may be summarized as including receiving a plurality of local biases and a plurality of coupling values specifying the problem Hamilton, receiving a value for the product of the characteristic mutual inductance of anti-ferromagnetic coupling and the magnetic susceptibility of a qubit, constructing a correction matrix wherein: the correction matrix is symmetric, the diagonal entries are one, and the entries corresponding to a respective coupling in the problem Hamiltonian are the product of the respective coupling value of the plurality of coupling values, and the value for the product of the characteristic mutual inductance of anti-ferromagnetic coupling and the magnetic susceptibility of a qubit; solve a linear system including a first vector, corresponding to a plurality of local biases, equal to the correction matrix right multiplied by a second vector, corresponding to a plurality of updated local biases, for the second vector; and return the plurality of updated local biases.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

In the drawings, identical reference numbers identify similar elements or acts. The sizes and relative positions of elements in the drawings are not necessarily drawn to scale. For example, the shapes of various elements and angles are not drawn to scale, and some of these elements are arbitrarily enlarged and positioned to improve drawing legibility. Further, the particular shapes of the elements as drawn are not intended to convey any information regarding the actual shape of the particular elements, and have been solely selected for ease of recognition in the drawings.

FIG. 1 is a schematic diagram that illustrates an exemplary hybrid computer including a digital processor and an analog processor in accordance with the present systems, devices, methods, and articles.

FIG. 2 is a schematic diagram that illustrates a portion of an exemplary superconducting quantum processor designed for quantum annealing and/or adiabatic quantum computing in accordance with the present systems, devices, methods, and articles.

FIG. 3 is a schematic diagram that illustrates a portion of an exemplary superconducting quantum processor in accordance with the present systems, devices, methods, and articles.

FIG. 4 is a graph that illustrates data from an exemplary rf-SQUID qubit, showing non-ideal response of the persistent current versus applied flux including qubit magnetic susceptibility in accordance with the present systems, devices, methods, and articles.

FIG. 5 is a schematic diagram that illustrates a portion of an exemplary superconducting quantum processor including a compensator structure to correct for qubit magnetic susceptibility in accordance with the present systems, devices, methods, and articles.

FIG. 6 is a flow diagram showing a method for updating local bias values for use in a quantum processor without a magnetic susceptibility compensator in accordance with the present systems, devices, methods, and articles.

FIG. 7 is a flow diagram showing a method for updating coupling values for use in a quantum processor including logical qubits and without a magnetic susceptibility compensator in accordance with the present systems, devices, methods, and articles.

FIG. 8 is a schematic diagram that illustrates a portion of an exemplary superconducting quantum processor in accordance with the present systems, devices, methods, and articles.

FIG. 9 is a flow diagram showing a method for performing quantum annealing with superconducting flux qubits and a magnetic susceptibility compensator structure in accordance with the present systems, devices, methods, and articles.

DETAILED DESCRIPTION

In the following description, some specific details are included to provide a thorough understanding of various disclosed embodiments. One skilled in the relevant art, however, will recognize that embodiments may be practiced without one or more of these specific details, or with other methods, components, materials, etc. In other instances, well-known structures associated with quantum processors, such as quantum devices, couplers, and control systems including microprocessors and drive circuitry have not been shown or described in detail to avoid unnecessarily obscuring descriptions of the embodiments of the present methods. Throughout this specification and the appended claims, the words “element” and “elements” are used to encompass, but are not limited to, all such structures, systems, and devices associated with quantum processors, as well as their related programmable parameters.

Unless the context requires otherwise, throughout the specification and claims which follow, the word “comprise” and variations thereof, such as, “comprises” and “comprising” are to be construed in an open, inclusive sense, that is as “including, but not limited to.”

Reference throughout this specification to “one embodiment” “an embodiment”, “another embodiment”, “one example”, “an example”, or “another example” means that a particular referent feature, structure, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example. Thus, the appearances of the phrases “in one embodiment”, “in an embodiment”, “another embodiment” or the like in various places throughout this specification are not necessarily all referring to the same embodiment or example. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments or examples.

It should be noted that, as used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the content clearly dictates otherwise. Thus, for example, reference to a problem-solving system including “a quantum processor” includes a single quantum processor, or two or more quantum processors. It should also be noted that the term “or” is generally employed in its sense including “and/or” unless the content clearly dictates otherwise.

The headings provided herein are for convenience only and do not interpret the scope or meaning of the embodiments.

FIG. 1 illustrates a hybrid computing system 100 including a digital computer 105 coupled to an analog computer 151. In some embodiments the analog computer 151 is a quantum computer and the digital computer 105 is a classical computer. Shown is an exemplary digital computer 105 including a digital processor that may be used to perform classical digital processing tasks described in the present systems and methods. Those skilled in the relevant art will appreciate that the present systems and methods can be practiced with other digital computer configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, personal computers (“PCs”), network PCs, mini-computers, mainframe computers, and the like. Digital computer 105 will at times be referred to in the singular herein, but this is not intended to limit the application to a single digital computer. The present systems and methods can also be practiced in distributed computing environments, where tasks or acts are performed by remote processing devices, which are linked through a communications network. In a distributed computing environment, sets of processor readable instructions, also called program modules, may be located in both local and remote memory storage devices.

Digital computer 105 may include at least one processing unit (such as, central processor unit 110), at least one system memory 120, and at least one system bus 117 that couples various system components, including system memory 120 to central processor unit 110.

The digital processor may be any logic processing unit, such as one or more central processing units (“CPUs”), digital signal processors (“DSPs”), application-specific integrated circuits (“ASICs”), etc. Unless described otherwise, the construction and operation of the various blocks shown in FIG. 1 are of conventional design. As a result, such blocks need not be described in further detail herein, as they will be understood by those skilled in the relevant art.

System bus 117 can employ any known bus structures or architectures, including a memory bus with a memory controller, a peripheral bus, and a local bus. System memory 120 may include non-volatile memory, such as read-only memory (“ROM”), static random access memory (“SRAM”), Flash NAND; and volatile memory such as random access memory (“RAM”) (not shown). An basic input/output system (“BIOS”) 121, which can form part of the ROM, contains basic routines that help transfer information between elements within digital computer 105, such as during startup.

Digital computer 105 may also include other non-volatile memory 115. Non-volatile memory 115 may take a variety of forms, including: a hard disk drive for reading from and writing to a hard disk, an optical disk drive for reading from and writing to removable optical disks, and/or a magnetic disk drive for reading from and writing to magnetic disks. The optical disk can be a CD-ROM or DVD, while the magnetic disk can be a magnetic floppy disk or diskette. Non-volatile memory 115 may communicate with digital processor via system bus 117 and may include appropriate interfaces or controllers 116 coupled to system bus 117. Non-volatile memory 115 may serve as long-term storage for computer-readable instructions, data structures, program modules and other data for digital computer 105.

Although digital computer 105 has been described as employing hard disks, optical disks and/or magnetic disks, those skilled in the relevant art will appreciate that other types of non-volatile computer-readable media may be employed, such a magnetic cassettes, flash memory cards, Flash, ROMs, smart cards, etc. Those skilled in the relevant art will appreciate that some computer architectures conflate volatile memory and non-volatile memory. For example, data in volatile memory can be cached to non-volatile memory. Or a solid-state disk that employs integrated circuits to provide non-volatile memory. Some computers place data traditionally stored on disk in memory. As well, some media that traditionally is regarded as volatile can have a non-volatile form, e.g., Non-Volatile Dual In-line Memory Module variation of Dual In Line Memory Modules.

Various program modules, application programs and/or data can be stored in system memory 120. For example, system memory 120 may store an operating system 123, and server modules 127. In some embodiments, server module 127 includes instruction for communicating with remote clients and scheduling use of resources including resources on the digital computer 105 and analog computer 151. For example, a Web server application and/or Web client or browser application for permitting digital computer 105 to exchange data with sources via the Internet, corporate Intranets, or other networks, as well as with other server applications executing on server computers.

In some embodiments system memory 120 may store a calculation module 131 to perform pre-processing, co-processing, and post-processing to analog computer 151. In accordance with the present systems and methods, system memory 120 may store at set of analog computer interface modules 135 operable to interact with the analog computer 151.

In some embodiments system memory 120 may store device compensator module 139 to correct for the behavior of one or more types of programmable elements in the analog computer 151. For example, the device compensator module 139 can control one or more magnetic susceptibility compensators present in analog computer 151. In accordance with the present systems, devices, articles, and methods, device compensator module 139 may store instructions to receive data form the analog computer 151 operating without operating magnetic susceptibility compensators, analyze, or transform data to remove distortion from a Hamiltonian. In accordance with the present systems, devices, articles, and methods, device compensator module 139, is an example of a program module or a collection of processor readable instruction. Device compensator module 139 includes processor readable instructions to receive data form the analog computer 151 operating without (or without using) magnetic susceptibility compensators, analyze the data, and transform programmable parameters for the analog processor to account for distortion from a Hamiltonian. For example, one or more of local bias values and one or more coupling values may be redefined by instructions in device compensator module 139 to account for distortion from a Hamiltonian.

While shown in FIG. 1 as being stored in system memory 120, the modules shown and other data can also be stored elsewhere including in nonvolatile memory 115.

The analog computer 151 is provided in an isolated environment (not shown). For example, where the analog computer 151 is a quantum computer, the environment shields the internal elements of the quantum computer from heat, magnetic field, and the like. The analog computer 151 includes an analog processor 140. Examples of an analog processor include quantum processors such as those show in FIG. 2.

A quantum processor includes programmable elements such as qubits, couplers, and other devices. The qubits are readout via readout out system 160. These results are fed to the various modules in the digital computer 105 including server modules 127, calculation module 131, or analog computer interface modules 135, stored in nonvolatile memory 115, returned over a network or the like. The qubits are controlled via qubit control system 165. The couplers are controlled via coupler control system 170. In some embodiments of the qubit control system 165 and the coupler control system 170 are used to implement quantum annealing as described herein on analog processor 140.

In some embodiments the digital computer 105 can operate in a networking environment using logical connections to at least one client computer system. In some embodiments the digital computer 105 is coupled via logical connections to at least one database system. These logical connections may be formed using any means of digital communication, for example, through a network, such as a local area network (“LAN”) or a wide area network (“WAN”) including, for example, the Internet. The networking environment may include wired or wireless enterprise-wide computer networks, intranets, extranets, and/or the Internet. Other embodiments may include other types of communication networks such as telecommunications networks, cellular networks, paging networks, and other mobile networks. The information sent or received via the logical connections may or may not be encrypted. When used in a LAN networking environment, digital computer 105 may be connected to the LAN through an adapter or network interface card (“NIC”) (communicatively linked to system bus 117). When used in a WAN networking environment, digital computer 105 may include an interface and modem (not shown), or a device such as NIC, for establishing communications over the WAN. Non-networked communications may additionally, or alternatively be employed.

In accordance with some embodiments of the present systems, devices, articles, and methods, a quantum processor may be designed to perform adiabatic quantum computation and/or quantum annealing. An evolution Hamiltonian is proportional to the sum of a first term proportional to the problem Hamiltonian and a second term proportional to the disordering Hamiltonian. As previously discussed, a typical evolution may be represented by Equation (4): H _(E) ∝A(t)H _(D) +B(t)H _(P)  (4) where H_(P) is the problem Hamiltonian, disordering Hamiltonian is H_(D), H_(E) is the evolution or instantaneous Hamiltonian, and A(t) and B(t) are examples of an evolution coefficient which controls the rate of evolution. In general, evolution coefficients vary between 0 and 1 inclusive. In some embodiments, the coefficient for the problem Hamiltonian is one. In some embodiments, a time varying evolution coefficient is placed on the problem Hamiltonian. A common disordering Hamiltonian is shown in Equation (5):

$\begin{matrix} {H_{D} \propto {{- \frac{1}{2}}{\sum\limits_{i = 1}^{N}{\Delta_{i}\sigma_{i}^{x}}}}} & (5) \end{matrix}$ where N represents the number of qubits, σ_(i) ^(x) is the Pauli x-matrix for the i^(th) qubit and Δ_(i) is the single qubit tunnel splitting induced in the i^(th) qubit. Here, the σ_(i) ^(x) terms are examples of “off-diagonal” terms. A common problem Hamiltonian includes first component proportional to diagonal single qubit terms and a second component proportional to diagonal multi-qubit terms. The problem Hamiltonian, for example, may be of the form:

$\begin{matrix} {H_{P} \propto {- {\frac{ɛ}{2}\left\lbrack {{\sum\limits_{i = 1}^{N}{h_{i}\sigma_{i}^{z}}} + {\sum\limits_{j > i}^{N}{J_{ij}\sigma_{i}^{z}\sigma_{j}^{z}}}} \right\rbrack}}} & (6) \end{matrix}$ where N represents the number of qubits, σ_(i) ^(z) is the Pauli z-matrix for the i^(th) qubit, h_(i) and J_(i,j) are dimensionless local fields for the qubits, and couplings between qubits, and ε is some characteristic energy scale for H_(P). Here, the σ_(i) ^(z) and σ_(i) ^(z)σ_(j) ^(z) terms are examples of “diagonal” terms. The former is a single qubit term and the latter a two qubit term. Throughout this specification, the terms “problem Hamiltonian” and “final Hamiltonian” are used interchangeably. Hamiltonians such as H_(D) and H_(P) in Equations (5) and (6), respectively, may be physically realized in a variety of different ways. A particular example is realized by an implementation of superconducting qubits.

FIG. 2 is a schematic diagram of a portion of an exemplary superconducting quantum processor 200 designed for quantum annealing (and/or adiabatic quantum computing) components which may be used to implement the present systems and devices. The portion of superconducting quantum processor 200 shown in FIG. 2 includes two superconducting qubits 201, and 202. Also shown is a tunable σ_(i) ^(z)σ_(j) ^(z) coupling (diagonal coupling) via coupler 210 therebetween qubits 201 and 202 (i.e., providing 2-local interaction). While the portion of quantum processor 200 shown in FIG. 2 includes only two qubits 201, 202 and one coupler 210, those of skill in the art will appreciate that quantum processor 200 may include any number of qubits and any number of coupling devices coupling information therebetween.

The portion of quantum processor 200 shown in FIG. 2 may be implemented to physically realize quantum annealing and/or adiabatic quantum computing. Quantum processor 200 includes a plurality of interfaces 221-225 that are used to configure and control the state of quantum processor 200. Each of interfaces 221-225 may be realized by a respective inductive coupling structure, as illustrated, as part of a programming subsystem and/or an evolution subsystem. Such a programming subsystem and/or evolution subsystem may be separate from quantum processor 200, or it may be included locally (i.e., on-chip with quantum processor 200) as described in, for example, U.S. Pat. Nos. 7,876,248 and 8,035,540.

In the operation of quantum processor 200, interfaces 221 and 224 may each be used to couple a flux signal into a respective compound Josephson junction 231 and 232 of qubits 201 and 202, thereby realizing the Δ_(i) terms in the system Hamiltonian. This coupling provides the off-diagonal σ^(x) terms of the Hamiltonian described by Equation (5) and these flux signals are examples of “disordering signals”. Similarly, interfaces 222 and 223 may each be used to apply a flux signal into a respective qubit loop of qubits 201 and 202, thereby realizing the h_(i) terms, or local bias terms, in the system Hamiltonian. This coupling provides the diagonal σ^(z) terms of Equation (6). Furthermore, interface 225 may be used to couple a flux signal into coupler 210, thereby realizing the J_(ij) terms, coupling terms, in the system Hamiltonian. This coupling provides the diagonal (σ^(z) _(i)σ^(z) _(j)) terms of Equation (6). In FIG. 2, the contribution of each of interfaces 221-225 to the system Hamiltonian is indicated in boxes 221 a-225 a, respectively. As shown, in the example of FIG. 2, the boxes 221 a-225 a are elements of time varying Hamiltonian for quantum annealing and/or adiabatic quantum computing.

Throughout this specification and the appended claims, the term “quantum processor” is used to generally describe a collection of physical qubits (e.g., qubits 201 and 202) and couplers (e.g., coupler 210). The physical qubits 201 and 202 and the coupler 210 are referred to as the “programmable elements” of the quantum processor 200 and their corresponding parameters (e.g., the qubit h_(i) values and the coupler J_(ij) values) are referred to as the “programmable parameters” of the quantum processor. In the context of a quantum processor, the term “programming subsystem” is used to generally describe the interfaces (e.g., “programming interfaces” 222, 223, and 225) used to apply the programmable parameters (e.g., the h_(i) and J_(ij) terms) to the programmable elements of the quantum processor 200 and other associated control circuitry and/or instructions. As previously described, the programming interfaces of the programming subsystem may communicate with other subsystems which may be separate from the quantum processor or may be included locally on the processor. As described in more detail later, the programming subsystem may be configured to receive programming instructions in a machine language of the quantum processor and execute the programming instructions to program the programmable elements in accordance with the programming instructions. Similarly, in the context of a quantum processor, the term “evolution subsystem” generally includes the interfaces (e.g., “evolution interfaces” 221 and 224) used to evolve the programmable elements of the quantum processor 200 and other associated control circuitry and/or instructions. For example, the evolution subsystem may include annealing signal lines and their corresponding interfaces (221, 224) to the qubits (201, 202).

Quantum processor 200 also includes readout devices 251 and 252, where readout device 251 is associated with qubit 201 and readout device 252 is associated with qubit 202. In some embodiments, such as shown in FIG. 2, each of readout devices 251 and 252 includes a DC-SQUID inductively coupled to the corresponding qubit. In the context of quantum processor 200, the term “readout subsystem” is used to generally describe the readout devices 251, 252 used to read out the final states of the qubits (e.g., qubits 201 and 202) in the quantum processor to produce a bit string. The readout subsystem may also include other elements, such as routing circuitry (e.g., latching elements, a shift register, or a multiplexer circuit) and/or may be arranged in alternative configurations (e.g., an XY-addressable array, an XYZ-addressable array, etc.). Qubit readout may also be performed using alternative circuits, such as that described in PCT Patent Publication WO2012064974.

While FIG. 2 illustrates only two physical qubits 201, 202, one coupler 210, and two readout devices 251, 252, a quantum processor (e.g., processor 200) may employ any number of qubits, couplers, and/or readout devices, including a larger number (e.g., hundreds, thousands or more) of qubits, couplers and/or readout devices. The application of the teachings herein to processors with a different (e.g., larger) number of computational components should be readily apparent to those of ordinary skill in the art.

Examples of superconducting qubits include superconducting flux qubits, superconducting charge qubits, and the like. In a flux qubit, the Josephson energy dominates or is equal to the charging energy. In a charge qubit, it is the reverse. Examples of flux qubits that may be used include rf-SQUIDs, which include a superconducting loop interrupted by one Josephson junction, persistent current qubits, which include a superconducting loop interrupted by three Josephson junctions, and the like. See, examples of rf-SQUID qubits in Bocko et al., 1997, IEEE Trans. on Appl. Supercond. 7, 3638; Friedman, et al., 2000, Nature 406, 43; and Harris et al., 2010, Phys. Rev. B 81, 134510; or persistent current qubits, Mooij et al., 1999, Science 285, 1036; and Orlando et al., 1999, Phys. Rev. B 60, 15398. In addition, hybrid charge-phase qubits, where the energies are equal, may also be used. Further details of superconducting qubits may be found in Makhlin, et al., 2001, Rev. Mod. Phys. 73, 357; Devoret et al., 2004, arXiv:cond-mat/0411174; Zagoskin and Blais, 2007, Physics in Canada 63, 215; Clarke and Wilhelm, 2008, Nature 453, 1031; Martinis, 2009, Quantum Inf. Process. 8, 81; and Devoret and Schoelkopf, 2013, Science 339, 1169. In some embodiments, the qubit is controlled by on-chip circuitry. Examples of on-chip control circuitry can be found in U.S. Pat. Nos. 7,876,248; 7,843,209; 8,018,244; 8,098,179; 8,169,231; and 8,098,179.

FIG. 3 illustrates a portion 300 of an example of an analog processor. Portion 300 is in the form of an exemplary superconducting quantum processor designed for quantum annealing and/or adiabatic quantum computing that exhibits a non-ideal behavior. Portion 300 includes three superconducting qubits 201, 202, and 301. Superconducting qubits 201 and 202 are described above. Also shown is a pair of tunable couplers 210 and 310 between the superconducting qubits 201, 202, and 301 respectively.

The portion 300 of quantum processor includes a plurality of interfaces 221-225, 321, 322, and 325 that are used to configure and control the state of quantum processor. The interfaces 221, 224, and 321 couple a flux signal into a respective compound Josephson junction of qubits 201, 202, and 301, thereby realizing a set of off-diagonal terms in the system Hamiltonian. Similarly, interfaces 222, 223, and 322 apply a flux signal into a respective qubit loop of qubits 201, 202, and 301, thereby realizing a set of diagonal terms in the system Hamiltonian. Further, interfaces 225 and 325 couple a flux signal into couplers 210 and 310, thereby realizing a set of two qubit diagonal terms. The interfaces 225 and 325 are given a compact representation in FIG. 3, but may include the flux sources shown in FIG. 2 for example 225. The off-diagonal one qubit terms are Δ_(i) terms. The diagonal one qubit terms are h_(i) terms. The two qubit diagonal terms are J_(ij) terms.

The non-ideal aspects of the qubits and couplers lead to distortions of the problem Hamiltonian. One of these distortions includes a ghost coupling between two unconnected qubits, each coupled to a common third qubit. A ghost coupling is an unintended coupling. In some examples, a ghost coupling is a weaker coupling than an intended coupling. For example, consider qubit 201 and qubit 301 coupled through qubit 202. This coupling includes a diagonal two qubit coupling term that is not accounted for in the problem Hamiltonian. Another of these distortions includes local bias bleed. In this distortion, a local bias applied to a first qubit results in a local bias value in a second qubit connected to the first qubit. For example, a bias applied to qubit 201 results in a bias applied to qubit 202.

The cause of these distortions is believed to arise from the magnetic susceptibility of qubits such as 201, 202, and 301. The magnetic susceptibility of a qubit is a property of the qubit. It is the response of the qubit's persistent current, I_(P), to applied external flux, Φ^(x).

$\begin{matrix} {\chi = \frac{\partial I_{P}}{\partial\Phi^{x}}} & (7) \end{matrix}$ Data on this property of a qubit is shown herein in, at least, FIG. 4. At least one alternative definition of magnetic susceptibility of qubits exists and differs in sign from Equation (7).

The above described distortions can be modelled mathematically. For convenience the qubits 201, 202, and 301 are labeled i, j, and k. Consider, for example, both ghost coupling and local bias bleed. If a local bias is applied to qubit 202, the ideal term in the qubit Hamiltonian is: h _(j)σ_(j) ^(z)  (8)

However, as qubits 201, 202 and 301 in FIG. 3 have a non-zero magnetic susceptibility, the resulting Hamiltonian terms include: h _(j)σ_(j) ^(z) +M _(AFM) X _(q) J _(ij) h _(j)σ_(i) ^(z) +M _(AFM) X _(q) J _(jk) h _(j)σ_(k) ^(z) +M _(AFM) X _(q) J _(ij) J _(jk)σ_(i) ^(z)

σ_(k) ^(z)  (9) The first term of Equation (9) is the ideal term. The second term and third term, on line two, represent local bias bleeds. The fourth and final term is an example of a ghost coupling. There is a common factor, M_(AFM)·X_(q) or M_(AFM)X_(q), in all but the ideal term. In some embodiments, this common factor includes a multiplicative constant. The common factor includes the product of the characteristic anti-ferromagnetic mutual inductance of the qubit M_(AFM) and the magnetic susceptibility of the qubit X_(q).

The distortions to the Hamiltonian occur only between certain qubits. The ghost coupling and the bias bleed only propagate through couplers whose value is non-zero in the non-distorted Hamiltonian. Consider Equation (9), if either of the two J terms are zero (e.g., J_(ij)=0 or J_(jk)=0) the coupling term vanishes. If the coupling between the first qubit and second qubit is zero (i.e., J_(ij)=0) in the undistorted Hamiltonian, the local bias bleed to the first qubit is zero. If the coupling between the second qubit and third qubit is zero (i.e., J_(jk)=0) in the undistorted Hamiltonian, the local bias bleed to the third qubit is zero.

The distortions to the Hamiltonian can occur in larger lattices. The distortions can lead to excited states becoming ground states, ground states becoming excited states, and the like. That is, when the analog processor returns a configuration of variables, they are ideally a configuration that provides the lowest or nearly the lowest energy. The Hamiltonian is an operator that computes the energy for a configuration. In some embodiments, computing of an energy, given a configuration, is a series of summations like in Equation (6). The Hamiltonian may be the distorted or undistorted Hamiltonian. In some embodiments, distorted Hamiltonians are detected. In some embodiments, distorted Hamiltonians are corrected.

The magnitude of the distortions to the problem Hamiltonian varies with the quantum processor. In some embodiments, the magnitude is set by the term M_(AFM)X_(q). The term M_(AFM)X_(q) can be expressed as a portion of the full energy scale for specifying a problem Hamiltonian on a quantum processor, M_(AFM). In some embodiments, the value of the term X_(q) ranges from a ten thousandth to a half. In some embodiments, the value of the term X_(q) ranges from a thousandth to a tenth of the same value. In some embodiments, the value of the term X_(q) ranges from a hundredth to a fiftieth. In some embodiments, the value of the term X_(q) ranges from 0.01 to 0.05. In some examples of a quantum processor, the value of the term X_(q) ranges from 0.035 to 0.04. In some examples of a quantum processor, the value of the term X_(q) is about 0.015.

The forgoing description can be complemented with a second analysis of qubit-qubit interactions via a coupler. A superconducting flux qubit may comprise a loop of superconducting material (called a “qubit loop”) that is interrupted by at least one Josephson junction. Since the qubit loop is superconducting, it effectively has no electrical resistance. Thus, electrical current traveling in the qubit loop may experience no dissipation. In certain situations virtually all the current in the loop is supercurrent and the flow of electrons (examples of Fermions) is replaced by a collection of Cooper pairs (examples of Bosons). The Cooper pairs can condense and be governed by one quantum mechanical wave function.

If an electrical current is coupled into the qubit loop by, for example, a magnetic flux signal, this current may continue to circulate around the qubit loop even when the signal source is removed. The current may persist indefinitely until it is interfered with in some way or until the qubit loop is no longer superconducting. The superconductivity may be removed by heating the qubit loop above its critical temperature, applying a magnetic field above a critical value, and the like. For the purposes of this specification, the term “persistent current” is used to describe an electrical current circulating in superconducting loop interrupted by at least one Josephson junction. The sign and magnitude of a persistent current may be influenced by a variety of factors, including but not limited to a flux signal Φ_(X) coupled directly into the superconducting loop and a flux signal Φ_(CJJ) coupled into a compound Josephson junction that interrupts the superconducting loop.

The energy scale for specifying a problem Hamiltonian on a quantum processor is given by M_(AFM)I_(p) ² where M_(AFM) is the anti-ferromagnetic mutual inductance between two superconducting devices communicatively coupled by a coupling device such as two communicatively coupled qubits and I_(p) is the average persistent current of the two superconducting devices. In some examples, it is desirable to increase this energy scale to improve the performance of the quantum processor. However, coupling devices have an upper-limit to the mutual inductance between two communicatively coupled superconducting devices which is set by the coupler inductance and the device-to-coupler mutual inductance. The anti-ferromagnetic mutual inductance between two communicatively coupled superconducting devices, labeled L and R, is given by: M _(AFM) =M _(L) M _(R) X _(CO) +M _(qu-qu)  (10) Where M_(L) is the mutual inductance between the first superconducting device and the coupling device, M_(R) is the mutual inductance between the second superconducting device and the coupling device, and X_(CO) is the susceptibility of the coupling device (i.e., how strongly the coupling device couples the two superconducting devices together). As well, M_(qu-qu) is the intended mutual inductance between the two communicatively coupled superconducting devices. See U.S. patent application publication US 2015-0032991 A1 for further examples of intended mutual inductance between qubits.

The susceptibility of a coupling device is set by a flux bias of the coupling device given by ϕ_(CO). Increasing the critical current I_(C) of the coupler will increase X_(CO) to an upper limit of 1/L_(CO) where L_(CO) denotes the inductance of the coupler. Therefore, by increasing the persistent current of the coupling devices in a quantum processor by a large factor (for example, more than 10 times the persistent current), X_(CO) can be almost doubled. However, increasing the persistent current of a coupling device increases the coupler beta (a convenience parameter representing the behavior of a superconducting loop such as a coupling device that is used for modeling purposes, also called normalized inductance). The beta (β) of a coupling device is given by:

$\begin{matrix} {\beta = \frac{2\pi\; L_{co}I_{C}}{\Phi_{0}}} & (11) \end{matrix}$ where Φ₀ is the flux quantum of the superconducting loop. Increasing coupler beta increases the slope of the coupler susceptibility in the Ferromagnetic region. Therefore, the coupler critical current cannot be increased by much without sacrificing the precision to which ferromagnetic/anti-ferromagnetic couplings can be specified.

The ideal coupling value between a pair of flux qubits connected by a coupler is much larger than a ghost coupling. For example, consider a flux qubit, indexed as i, that may be coupled to a qubit, indexed as j, via a coupler. The mutual inductance between the flux qubit i and the coupler is denoted M_(i). The mutual inductance between the flux qubit j and the coupler is denoted M_(j). The persistent current in the flux qubit i is denoted I_(P) ^(i). The persistent current in the flux qubit j is denoted I_(P) ^(j). The magnetic susceptibility of the coupler is denoted X_(CO). In some examples, the coupling value is: J _(ij) =I _(P) ^(i) I _(P) ^(j) M _(i) M _(j) X _(CO)  (12) In some examples, the coupling value a is dimensionless quantity:

$\begin{matrix} {J_{ij} = \frac{I_{p}^{i}I_{p}^{j}M_{i}M_{j}X_{CO}}{M_{AFM}}} & (13) \end{matrix}$

FIG. 4 shows a graph 400 of the response of persistent current I_(P) within a superconducting flux qubit to applied external flux, Φ_(q) ^(x). The graph 400 shows how the qubit deviates from the ideal. In the graph 400, the persistent current is plotted against applied external flux. The persistent current measured is measured in micro-amperes on vertical axis 402 and the external flux in units of milli-flux quanta on horizontal axis 404. The data points 406 are plotted in the plane and fitted with a curve 408. The shape (e.g., the inflection) in the curve 408 relates to the tunneling behavior of the qubit. As the tunneling rate of the qubit increases, the curve 408 deviates more from a step function. In the graph 400, the tunneling rate of the qubit is about 1 gigahertz.

The non-ideal aspects of the superconducting flux qubit are shown in FIG. 4. Away from the inflection point of the curve 408, the persistent current of the qubit increases in response to applied flux. The slope of the curve 408 is non-zero. Considering Equation (7), this means the superconducting flux qubit is non-ideal. An example of an ideal response is show as lines 410-1 and 410-2. Such an ideal response would be for a spin the magnetic moment of which does not change with applied flux.

As previously discussed, a superconducting flux qubit may comprise a qubit loop interrupted by at least one Josephson junction, or at least one compound Josephson junction. Since a qubit loop is superconducting, it effectively has no electrical resistance. Thus, electrical current traveling in a qubit loop may experience no dissipation. If an electrical current is induced in the qubit loop by, for example, a magnetic flux signal, this current may be sustained indefinitely. The current may persist indefinitely until it is interfered with in some way or until the qubit loop is no longer superconducting (due to, for example, heating the qubit loop above its critical temperature). For the purposes of this specification, the term “persistent current” is used to describe an electrical current circulating in a qubit loop of a superconducting qubit. The sign and magnitude of a persistent current are influenced by a variety of factors, including but not limited to a flux signal ϕ_(X) coupled directly into the qubit loop and a flux signal ϕ_(CJJ) coupled into a compound Josephson junction that interrupts the qubit loop.

FIG. 5 illustrates a portion of an exemplary superconducting quantum processor including a magnetic susceptibility compensator. The portion 500 includes a first qubit 502 including a qubit body 504 forming a loop. The qubit body 504 is made from a superconducting material that superconducts in a range of temperatures and magnetic fields that are below a critical temperature and a critical field strength. In some embodiments, the qubit body includes a compound Josephson junction 506. The compound Josephson junction 506 may include further compound Josephson junctions as described in U.S. Pat. No. 8,536,566. In some embodiments, the qubit 502 includes flux sources to effect changes in qubit bias and tunneling rate. These are not shown in FIG. 5.

In some embodiments, the qubit 502 is includes a persistent current compensator 508. In some embodiments, the persistent current compensator 508 is present and not used. In some embodiments, the persistent current compensator 508 is not present. The persistent current compensator 508 is inductively coupled to the qubit body 504 via mutual inductive inductance M_(ii). The role of the persistent current compensator 508 is to change the persistent current caused by modulating the flux in the compound Josephson junction 506. Modulation of a flux in a compound Josephson junction is described above for at least interfaces 221 and 224 in FIG. 2.

An approach to quantum annealing with superconducting flux qubits includes using fixed flux biases applied to the qubit loops through a programming interface (e.g. 222 a of FIG. 2). Using a fixed bias, however, does not account for the fact that modulation of the control signal applied to the compound Josephson junction (e.g. 506 of FIG. 5, and 231 of FIG. 2) of a given qubit influences both the qubit's tunnel splitting (Δ_(i)) and the qubit's persistent current. Therefore, adjusting the compound Josephson junction biases to effect a desirable change in the qubit's tunnel splitting term also can create an undesirable change in the magnitudes of h_(i) in the problem Hamiltonian. In some embodiments, by applying a flux signal to the qubit that is proportional to the product of the intended bias, the anti-ferromagnetic mutual inductance, and the instantaneous persistent current, the effect of adjusting the compound Josephson junction bias on the persistent current can be reduced or eliminated. That is, a flux bias designed to mimic the growth in the persistent current in a flux qubit can be applied to a flux qubit to maintain the local bias values and the coupling values in the system Hamiltonian. Further details on persistent current compensation systems, devices, articles, and methods are described in, for example, US Patent Application Publication US 2011-0060780 A1, and U.S. Pat. No. 7,135,701 and Harris et al., 2010 “Experimental investigation of an eight-qubit unit cell in a superconducting optimization processor” Phys. Rev. B 82, 024511.

In some examples, a persistent current compensator 508 includes a persistent current compensation line for compensating for changing persistent current in a qubit such that the problem local bias terms and the coupling terms remain in constant, or in a constant target range, throughout annealing. In some examples a quantum processor includes a plurality of a plurality of qubits; a plurality of coupling devices, wherein each coupling device provides controllable communicative coupling between two of the plurality of qubits and at least one global signal line. Each qubit is communicably coupled to the at least one global signal line. In some examples, the at least one global signal line includes an annealing signal line that carries an annealing signal to evolve the quantum processor during quantum annealing computation. In some examples, the at least one global signal line includes a persistent current compensation line able to compensate for changing persistent current in a qubit such that the problem local bias terms and the coupling terms remain in constant target throughout annealing. The qubit 502 is coupled to a plurality of couplers. Portions of first coupler 520 and a second coupler 522 are shown. The couplers 520 and 522 may be used to couple qubit 502 to other qubits. In some embodiments, the qubit is coupled to three couplers. In some embodiments, the qubit is coupled to four couplers.

In some embodiments, the qubit 502 is inductively coupled to a plurality couplers. The coupling between qubit 502, indexed as i, and the coupler 520, indexed as j, has a mutual inductance M_(ij). The coupling between qubit 502 and the coupler 522, indexed as k, has a mutual inductance M_(ik).

A magnetic susceptibility compensator 530, or compensator structure 530, is proximally located with respect to qubit 502. The compensator structure 530 includes a body of superconducting material formed into a loop. In some embodiments, the loop in compensator structure 530 is interrupted by a tunable inductance. In some embodiments, the tunable inductance is a compound Josephson junction 532. In some embodiments, the tunable inductance includes a plurality of compound Josephson junctions. The compensator structure 530 is inductively coupled to the first coupler 520 and the second coupler 522. The coupling between the compensator structure 530, indexed as i, and the coupler 520, indexed as j, has a mutual inductance M′_(ij). The coupling between the compensator structure 530 and the coupler 522, indexed as k, has a mutual inductance M′_(jk).

In some embodiments, the coupling between the qubit 502 and its associated elements including the persistent current compensator 508, the coupler 520, the coupler 522, and the like; and between the compensator structure 530 and its associated elements, are matched. In some embodiments, the ratio of the mutual inductance between an associated element and the qubit 502 to the mutual inductance between an associated element and the compensator structure 530 is about equal across all associated elements to the qubit 502. In some embodiments, the ratios are within ten percent of equal (i.e., 1:1). In some embodiments, the ratios are equal:

$\begin{matrix} {\frac{M_{ii}^{\prime}}{M_{ii}} = {\frac{M_{ij}^{\prime}}{M_{ij}} = \frac{M_{ik}^{\prime}}{M_{ik}}}} & (14) \end{matrix}$ That is, a plurality of ratios are equal. A first ratio is the value of a first coupling of the global signal line to the magnetic susceptibility compensator, to the value of a second coupling of the global signal line to the qubit. A second ratio is the value of a third coupling of the magnetic susceptibility compensator to a first coupler, to the value of a fourth coupling of the qubit to the first coupler. A third ratio is the value of a fifth coupling of the magnetic susceptibility compensator to a first coupler, to the value of a sixth coupling of the qubit to the first coupler.

The current in the compensator structure 530 is tunable to correct for the magnetic susceptibility of qubit 502. In some embodiments, the tuning is effected by adjusting the flux threading compound Josephson junction 532. In some embodiments, the correction provides a magnetic susceptibility for the compensator structure 530 that is equal and opposite to the magnetic susceptibility of the qubit 502. In some embodiments, the correction provides a magnetic susceptibility for the compensator structure 530 that is opposite to the magnetic susceptibility of the qubit 502 but unequal. There may be an over-correction or under-correction. In some embodiments, the magnetic susceptibility of the compensator is tuned such that the following equation is satisfied: M′ _(ii) X _(Comp) =−M _(ii) X _(q)  (15) That is, a first product of the coupling of the global signal line to the magnetic susceptibility compensator and the magnetic susceptibility of the magnetic susceptibility compensator equals the negative of a second product of the coupling of the global signal line to the qubit and the magnetic susceptibility of the qubit.

In operation, the portion of the exemplary superconducting quantum processor shown in FIG. 5 operates as a quantum processor with extra program interfaces. The provision of programming interfaces to a superconducting quantum is described in PCT Patent Publication WO2012064974. Other than these extra parameters, the quantum processor implements an evolution for the quantum processor for quantum annealing (and/or adiabatic quantum computing) without adjustment. A problem is received as specified biases and a plurality of couplings. The problem graphs are embedded in hardware graphs of the quantum processor. The quantum processor is evolved. The results are read out.

FIGS. 6 and 7 show methods to compensate for distortions to programmable parameters of a Hamiltonian without using a magnetic susceptibility compensator. An example of programmable parameters is the plurality of local bias values for a plurality of qubits. Another example of programmable parameters is the plurality of coupling values for a plurality of couplers between pairs of qubits in a plurality qubits. In some examples, methods to compensate for distortions to programmable parameters combine methods to correct both the plurality of local bias values and the plurality of coupling values.

FIG. 6 shows a method 600 executable by circuitry to compensate for distortions to local bias terms in a Hamiltonian without using a magnetic susceptibility compensator. For the method 600, as with other methods taught herein, the various acts may be performed in a different order than that illustrated and described. Additionally, the methods can omit some acts, and/or employ additional acts. One or more of these acts may be performed by or via one or more circuits, for instance one or more processors (e.g., digital processors such as microprocessors, analog processor such as quantum processors, a hybrid computer including a digital processor and an analog processor such as hybrid computer 100). In some embodiments, the method 600 is performed by machine running executable instructions from device compensator module 139 of FIG. 1. In some embodiments, the method 600 is performed by quantum processor controller. This example is used in the description of method 600.

At 602, a quantum processor controller receives a plurality of local biases and a plurality of couplings. The biases and couplings specify a problem Hamiltonian. In some embodiments, the problem Hamilton is a non-distorted Hamiltonian.

At 604, a value for the product of the characteristic mutual inductance of anti-ferromagnetic coupling and the magnetic susceptibility of a characteristic qubit is received. In some embodiments, the product is the M_(AFM)X_(q) value described above. For example, the value can be 0.015 M_(AFM). In some embodiments, the value is provided by a user of a computer in communication with the quantum processor controller. In some embodiments, a value is suggested by the quantum processor controller.

At 606, the quantum processor controller constructs a correction matrix, M_(corr). The correction matrix includes the following properties: symmetry about the diagonal, has ones on the diagonal, and adjusted values elsewhere. A respective adjusted value is proportional to the product of a respective coupling value for the entry in matrix as determined by the plurality of couplings, and the product of the characteristic mutual inductance of anti-ferromagnetic coupling and the magnetic susceptibility of a qubit in the quantum processor. For example, if the plurality of couplings specifies a non-zero coupling value between the i^(th) qubit and the j^(th) qubit then the entry on the i^(th) row and j^(th) column of the matrix will be a value proportional to the product of the characteristic mutual inductance of anti-ferromagnetic coupling, the magnetic susceptibility of a qubit in the quantum processor, and the coupling value between the i^(th) qubit and the j^(th) qubit.

At 608, the quantum processor controller solves a linear system. In some embodiments, the linear system is a first vector (h₀), corresponding to the plurality of local biases, equated to the correction matrix right multiplied by a second vector (h′), corresponding to a plurality of updated local biases. The solution determined is the values of second vector, h′. Consider the linear system: h ₀ =M _(Corr) h′  (16)

In some embodiments, where method 600 is performed by a processor-based device that is not a quantum processor controller, processor-based device, method 600 returns the plurality of updated local biases associated the values of second vector, h′.

At 610, an optional operation, the plurality of updated local biases and the plurality of couplings are used by the quantum processor controller to define a problem on a quantum processor that implements quantum annealing and/or adiabatic quantum computing.

FIG. 7 shows a method 700 executable by circuitry to compensating for distortions to coupling values in a Hamiltonian for a quantum processor including logical qubits and without using a magnetic susceptibility compensator. In some embodiments, the method 700 is performed by quantum processor controller. This example is used in the description of method 700.

At 702, a quantum processor controller receives a plurality of coupling values, Js. The coupling values specify, in part, a problem Hamiltonian.

Also at 702, the quantum processor controller receives information characterizing a set of logical qubits. An example of this information is a mapping of physical qubits to logical qubits. A logical qubit comprises two or more physical qubits, and one or more intra-logical qubit couplers connecting the two or more physical qubits in a chain. These intra-logical qubit couplers define a chain of qubits. These intra-logical qubit couplers have a strong coupling value. In some examples, intra-logical qubit couplers are set to strong ferromagnetic coupling values. These chains of qubits define logical qubits. A plurality of logical qubits can be included a logical graph. Each node represents a logical qubit and the edges in the graph are available communicative coupling between logical qubits. The quantum processor controller extracts the intra-logical qubit couplers from the information characterizing a set of logical qubits.

At 704, a value for the product of the characteristic mutual inductance of anti-ferromagnetic coupling and the magnetic susceptibility of a characteristic qubit is received. In some embodiments, the product is the M_(AFM)X_(q) value described above. For example, the value can be 0.015 M_(AFM). In some embodiments, the value is provided by a user of a computer in communication with the quantum processor controller. In some embodiments, a value is suggested by the quantum processor controller.

At 706, the quantum processor controller constructs updated set of coupling values. An intended coupling for an extra-logical qubit coupler can be adjusted to account for a distortion in the Hamiltonian of the quantum processor.

Consider an intended coupling between a logical qubit and at least one physical qubit. FIG. 8 is a schematic diagram that illustrates a portion of an exemplary superconducting quantum processor. A logical qubit 802 includes five physical qubits (802-1, 802-2, 802-3, 802-4, 802-5). There are four intra-logical qubit couplers (804-1,2; 804-2,3; 804-3,4; 804-4,5) in the logical qubit 802. In some examples, the intra-logical qubit couplers, collectively 804, have strong coupling values. In some examples, the strong coupling values are ferromagnetic. The coupling values for the intra-logical qubit couplers can have homogenous or heterogeneous values. An example of a physical qubit distinct from the logical qubit 802, is physical qubit 812. The physical qubit 812 could be part of an unseen logical qubit. The physical qubit 812 can be given an index. A convenient index is 0 for physical qubit 812, or 812-0.

There is an intended coupling between the logical qubit 802 and a physical qubit 812 by a coupler 814. The intended coupling value is J₀₃. However, owing to the non-ideality of qubit 802-3, there could be a ghost coupling 816-0,2 between qubits 812-0 and 802-2 and/or a ghost coupling 816-0,4 between qubits 812-0 and 802-4.

Knowing that the strong coupling values in the intra-logical qubit keep the logical qubit in a confided sub-space of states, a correction scheme can be devised to correct for ghost couplings like ghost coupling 816-0,2 and/or ghost coupling 816-0,4. For example, the intended coupling J_(0,3) between physical qubit 812-0 and physical qubit 802-3 could be updated as follows: J′ _(0,3) =J _(0,3) −M _(AFM) X _(q) J _(0,3) J _(2,3) −M _(AFM) X _(q) J _(0,3) J _(3,4)  (16)

That is, an intended coupling value is adjusted by a correction term. The updated coupling value is replaced with the non-updated coupling value minus a correction term. In some examples, the correction term is a summation over the product of the following terms: the anti-ferromagnetic mutual inductance between two superconducting devices communicatively coupled by a coupling device, M_(AFM); the magnetic susceptibility of a qubit, X_(q); the intended coupling between the physical qubit and the logical qubit, J_(0,3); and, the indexed term of the summation, the intended coupling value for the coupling between a first qubit in the logical qubit proximate to the coupler for defining the coupling to the extra-logical qubit physical qubit and neighboring qubit to the first qubit, for example, J_(3,4). For example, the intended coupling J_(0,3) between physical qubit 812-0 and physical qubit 802-3 could be updated as follows:

$\begin{matrix} {J_{0,3}^{\prime} = {J_{0,3} - {M_{AFM}X_{q}J_{0,3}{\sum\limits_{i \in {N{(3)}}}^{\;}J_{i,3}}}}} & (17) \end{matrix}$ where N(3) are the neighbors of qubit 802-3 in the logical qubit 802. The indices in the logical qubit 802 are arbitrary and in different examples different indices are used.

Referring again to FIG. 7, in some embodiments, where method 700 is performed by a processor-based device that is not a quantum processor controller, processor-based device, returns the plurality of updated coupling values associated the values of second matrix, J′.

At 708, an optional operation, the quantum processor controller uses the plurality of updated coupling values to define an updated problem on a quantum processor that implements quantum annealing and/or adiabatic quantum computing.

FIG. 9 shows a method 900 executable by circuitry to perform quantum annealing with superconducting flux qubits and a plurality magnetic susceptibility compensators. A hybrid computer may perform one or more of the acts in method 900.

At 902, a hybrid computer establishes an evolution Hamiltonian on a quantum processor. An example of a quantum processor is a superconducting quantum processor, such as, shown in FIG. 2. In some examples, the evolution Hamiltonian includes a disordering component. See Equation (5) for an example of a disordering component. An example of an evolution Hamiltonian is described by Equation (4). It includes a disordering Hamiltonian and problem Hamiltonian with time varying coefficients. In some embodiments, the hybrid computer uses a programming sub-system to establish an evolution Hamiltonian on a quantum processor.

At 904, the hybrid computer causes the quantum processor to be annealed towards a final state associated with a problem Hamiltonian. In some embodiments, an evolution sub-system is used to gradually remove the disorder terms in the evolution Hamiltonian. For example, for a superconducting flux qubits, the hybrid computer raises the height of barriers between the potential wells in the energy profiles of the qubits. The raising of barriers suppresses quantum tunneling a source of disordering. As the hybrid computer causes the quantum processor to be annealed towards the final state the influence of the disordering Hamiltonian relative to the influence of the problem Hamiltonian declines. In some implementations, a plurality of local bias value and coupling values defining the problem Hamiltonian are slowly applied to the quantum processor. In some examples, the plurality of local bias values and coupling values are present and the magnitude of the disordering terms, relative to the plurality of local bias value and coupling values, are decreased.

As previously described, the annealing process removes the disorder terms and also induces changes in the qubit persistent currents which result in a discontinuous evolution path. This adverse effect can be addressed by compensating for the persistent current in a plurality of flux qubits. During the annealing process, the hybrid computer causes a varying of the local flux biases that define the problem Hamiltonian. The varying of the local flux biases compensates for the changes in the qubit persistent currents induced by the annealing. In some embodiments, a signal applied to a global signal line matches in profile the growth in persistent current in the qubits. In some implementations, this compensation is controlled such that the ratio of local bias terms to two qubit coupling terms (e.g., ferromagnetic, antiferromagnetic, or some intermediate form of coupling) remains substantially constant throughout the annealing process. That is, in the notation used herein, the ratio of h_(i) to J_(ij) is constant.

At 906, the hybrid computer cases a flux bias to be applied to a plurality of magnetic susceptibility compensators. In some implementations, acts 904 and 906 happen at the same time. A signal applied to the global signal line matches in profile the growth in persistent current in the qubits. In some embodiments, the growth in the global signal line is communicatively coupled to a plurality of plurality magnetic susceptibility compensators. The global signal line is inductively coupled to the plurality of magnetic susceptibility compensators. An example of inductive coupling is shown in FIG. 5.

At 908, a state of the system is measured. In some implementations, this may involve reading out the state of all or a portion of the qubits in the quantum processor by, for example, a readout subsystem. In some examples, the readout subsystems uses one or more DC-SQUIDs to measure the persistent current state of each qubit. Further descriptions of systems, devices, methods, and articles for qubit readout are described in U.S. Pat. Nos. 7,639,035; 8,169,231; and 8,854,074.

The above description of illustrated embodiments, including what is described in the Abstract, is not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. Although specific embodiments of and examples are described herein for illustrative purposes, various equivalent modifications can be made without departing from the spirit and scope of the disclosure, as will be recognized by those skilled in the relevant art. The teachings provided herein of the various embodiments can be applied to other analog processors, not necessarily the exemplary quantum processors generally described above.

The various embodiments described above can be combined to provide further embodiments. To the extent that they are not inconsistent with the specific teachings and definitions herein, all of the US patents, US patent application publications, US patent applications, referred to in this specification and/or listed in the Application Data Sheet, including but not limited to U.S. Provisional Patent Application No. 61/951,708, are incorporated herein by reference, in their entirety. Aspects of the embodiments can be modified, if necessary, to employ systems, circuits and concepts of the various patents, applications and publications to provide yet further embodiments.

These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure. 

The invention claimed is:
 1. A system for use in quantum processing, comprising: at least one non-transitory processor-readable medium that stores at least one of processor executable instructions or data; and at least one processor communicatively coupled to the at least one non-transitory processor-readable medium, and which, in response to execution of the at least one of processor executable instructions or data: receive a plurality of programmable parameters for at least one quantum processor, the programmable parameters which characterize a problem Hamilton; receive a value for a characteristic mutual inductance of antiferromagnetic coupling for the at least one quantum processor receive a value for a characteristic magnetic susceptibility of a qubit in the at least one quantum processor; create an updated plurality of programmable parameters based at least in part on the received value for the characteristic magnetic susceptibility of the qubit in the at least one quantum processor; and return the updated plurality of programmable parameters.
 2. The system of claim 1 wherein the plurality of programmable parameters for the at least one quantum processor comprises: a plurality of local biases and a plurality of coupling values characterizing the problem Hamilton.
 3. The system of claim 1 wherein the plurality of programmable parameters for the at least quantum processor comprises: a plurality of local biases; and wherein the processor-executable instructions when executed further cause the at least one processor to: construct a correction matrix; solve a linear system including a first vector, corresponding to a plurality of local biases, equal to the correction matrix right multiplied by a second vector, corresponding to a plurality of updated local biases, for the second vector; and return the plurality of updated local biases.
 4. The system of claim 3 wherein: the correction matrix is symmetric; the correction matrix includes a plurality of diagonal entries and the diagonal entries are one; and the correction matrix includes a plurality of off-diagonal entries and each off-diagonal entry corresponds to a respective coupling in the problem Hamiltonian and is a product of: a respective coupling value of a plurality of coupling values, the value for the characteristic mutual inductance of antiferromagnetic coupling, and the value for the characteristic magnetic susceptibility of a qubit.
 5. The system of claim 1 wherein the plurality of programmable parameters for the at least quantum processor comprises: a plurality of coupling values; and wherein the processor-executable instructions when executed further cause the at least one processor to: receive a mapping of a plurality of logical qubits defined on the at least quantum processor, wherein each logical qubit in the plurality of logical qubits includes a plurality of physical qubits, and a plurality of intra-logical qubit coupler; update a coupling value for an extra-logical qubit coupler to a logical qubit in the plurality of logical qubits; and return the updated coupling value for the extra-logical qubit coupler.
 6. The system of claim 1 further comprising: at least one quantum processor comprising: a plurality of qubits; a plurality of couplers, wherein each coupler provides controllable communicative coupling between a respective pair of the plurality of qubits; a programming sub-system; and an evolution sub-system.
 7. The system of claim 6 wherein the processor-executable instructions when executed further cause the at least one processor to: initialize the quantum processor, via the programming sub-system, to an initial state; and cause, via the evolution sub-system, the quantum processor to evolve from the initial state toward a final state characterized by the problem Hamiltonian.
 8. A computational method comprising: receiving a plurality of programmable parameters for at least one quantum processor, the programmable parameters which characterize a problem Hamilton; receiving a value for a characteristic mutual inductance of antiferromagnetic coupling for the at least one quantum processor receiving a value for a characteristic magnetic susceptibility of a qubit in the at least one quantum processor; creating an updated plurality of programmable parameters based at least in part on the received value for the characteristic magnetic susceptibility of the qubit in the at least one quantum processor; and returning the updated plurality of programmable parameters.
 9. The method of claim 8 wherein the plurality of programmable parameters for the at least quantum processor comprises a plurality of local biases; and the method further comprising: constructing a correction matrix; solving a linear system where the linear system includes a first vector, corresponding to a plurality of local biases, equal to the correction matrix right multiplied by a second vector, corresponding to a plurality of updated local biases, for the second vector; and returning the plurality of updated local biases.
 10. The method of claim 9 wherein: the correction matrix is symmetric; the correction matrix includes a plurality of diagonal entries and the diagonal entries are one; and the correction matrix includes a plurality of off-diagonal entries and each off-diagonal entry corresponds to a respective coupling in the problem Hamiltonian and is a product of: a respective coupling value of a plurality of coupling values, the value for the characteristic mutual inductance of antiferromagnetic coupling, and the value for the characteristic magnetic susceptibility of a qubit.
 11. The method of claim 8 wherein the plurality of programmable parameters for the at least quantum processor comprises a plurality of coupling values, and the method further comprising: receiving a mapping of a plurality of logical qubits defined on the at least quantum processor, wherein each logical qubit in the plurality of logical qubits includes a plurality of physical qubits, and a plurality of intra-logical qubit coupler; updating a coupling value for an extra-logical qubit coupler to a logical qubit in the plurality of logical qubits; and returning the updated coupling value for the extra-logical qubit coupler.
 12. The method of claim 11 further comprising forming the updated coupling value for the extra-logical qubit coupler from the coupling value minus a correction term, and forming the correction term from a product, wherein the product includes: the value for the characteristic mutual inductance of antiferromagnetic coupling, the value for the characteristic magnetic susceptibility of a qubit, and a sum over the product of the coupling value for the extra-logical qubit coupler, and a plurality of inter-logical qubit coupling values. 